import java.util.ArrayList;
import java.util.Date;
import java.util.List;


public class Utilisateur extends Personne {
	
	//Attributs -------------------------------------
	private Integer idUtilisateur;
	private String pwd;
	private String pseudonyme;
	
	private static Integer prochainIdUtilisateur = 0;
	
	protected List <EmpruntEnCours> empruntsEnCours = new ArrayList <EmpruntEnCours> ();  // cette liste ne depassera pas 3 elements
	
	
	
	//Getteurs et Setteurs ----------------------------
	
	
	
	public Integer getIdUtilisateur() {
		return idUtilisateur;
	}
	public void setIdUtilisateur(Integer idUtilisateur) {
		this.idUtilisateur = idUtilisateur;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	public String getPseudonyme() {
		return pseudonyme;
	}
	public void setPseudonyme(String pseudonyme) {
		this.pseudonyme = pseudonyme;
	}
	
	public Integer getNbEmpruntsEnCours() {
		return  empruntsEnCours.size();			
	}
	

	public List<EmpruntEnCours> getEmpruntsEnCours() {
		return empruntsEnCours;
	}
	public void setEmpruntsEnCours(List<EmpruntEnCours> empruntsEnCours) {
		this.empruntsEnCours = empruntsEnCours;
	}
	
	
	//Constructeurs-------------------------------------------
	
	
	
	public Utilisateur (String nom, String prenom, String pwd, String pseudonyme) {
		super (nom, prenom);
		this.dateNaissance = null;
		this.sexe = null;
		idUtilisateur = prochainIdUtilisateur ++;
		this.pwd = pwd;
		this.pseudonyme = pseudonyme;
		
	}
	
	
	public Utilisateur(Integer idUtilisateur, String nom, String prenom, String pwd, String pseudonyme) {
		super (nom, prenom);
		this.idUtilisateur = idUtilisateur;
		this.pwd = pwd;
		this.pseudonyme = pseudonyme;
	}
	
	public Utilisateur(Integer idUtilisateur, String nom, String prenom, String pwd, String pseudonyme, List<EmpruntEnCours> empruntsEnCours) {
		super (nom, prenom);
		this.idUtilisateur = idUtilisateur;
		this.pwd = pwd;
		this.pseudonyme = pseudonyme;
		this.empruntsEnCours = empruntsEnCours;
	}
	
	//Methodes addEmpruntEnCours et G
	
	public void addEmpruntEnCours(EmpruntEnCours eec){
		if(getNbEmpruntsEnCours()==3)System.out.println("deja 3 livres EXCEPTION A LEVER ICI");
		else empruntsEnCours.add(eec);
	}
	
	
	
	
	
	// methode toString
	
	@Override
	public String toString() {
		return super.toString() + "Utilisateur [idUtilisateur=" + idUtilisateur + ", pwd=" + pwd
				+ ", pseudonyme=" + pseudonyme + ", empruntsEnCours="
				 + "]";//+ empruntsEnCours
	}
		
}
	


